/**
 * @Author Fizz Pu
 * @Date 2020/9/27 下午9:27
 * @Version 1.0
 * 失之毫厘，缪之千里！
 */
/*你 n 个非负整数 a1，a2，...，an，每个数代表坐标中的一个点 (i, ai) 。
在坐标内画 n 条垂直线，垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。
找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/container-with-most-water
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。*/


public class Lee11 {
    public static void main(String[] args) {
        System.out.println(maxArea(new int[]{1,8,6,2,5,4,8,3,7}));
    }

    public static int maxArea(int[] height) {
        int len = height.length, left = 0, right = len - 1;
        if(len  <= 1)return 0;
        int maxErea = (right - left) * Math.min(height[right], height[left]), erea;
        while (left < right){
            if(height[left] < height[right]){
                left++;
            }
            else {
                right--;
            }
            erea = (right - left) * Math.min(height[right], height[left]);
            maxErea = Math.max(erea, maxErea);
        }
        return maxErea;
    }
}
